
#pragma once

#include <string>
#include <vector>

namespace avlib{


struct  CaptureDevice{
	UINT dev_id;
	GUID dev_guid;
	std::string dev_name;

	CaptureDevice(){
		dev_id = -1;
	}
};

typedef std::vector<CaptureDevice *> CaptureDevices;
typedef std::vector<CaptureDevice*> CaptureDevices;


class System{

private:
	bool is_audio_device;
	void GetDeviceInformation(IEnumMoniker *pEnum);

public:
	System();
	~System();

	CaptureDevices mAudioDevices;
	CaptureDevices mVideoDevices;

	//void Init();
	//int enum_wavein();

	bool EnumDevices();
	
	


};
};